Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BIP-40: Beanstalk Farms 2024 Development Budget #770

Merged
merged 1 commit into from
Mar 19, 2024

Conversation

BeanstalkFarmsOperations
Copy link
Contributor

@BeanstalkFarmsOperations BeanstalkFarmsOperations commented Feb 13, 2024

BIP-40: Beanstalk Farms 2024 Development Budget

"People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years." - J. C. R. Licklider, 1965

Proposer

Beanstalk Farms

Proposer Wallet: 0xf9d183af486a973b7921ceb5fdc9908d12aab440

Summary

  • Mint 500,000 Beans to fund Beanstalk Farms to retain, grow and support a group of contributors to Beanstalk through the end of H1 2024;
  • Mint 500,000 Beans to fund Beanstalk Farms through the end of H2 2024;
  • Mint 450,000 Beans to the Security Fund (f.k.a. Audit Fund); and
  • Maintain the DAO's ability to withhold Beanstalk Farms' H2 funding after the end of H1 with an appropriate governance structure.

Links

Introduction

Beanstalk Farms is an independent decentralized development organization of contributors working on Beanstalk. Beanstalk Farms has historically been funded by the Beanstalk DAO and proposed budget BIPs that mint Beans to cover operating expenses and compensate contributors.

The most recent Beanstalk Farms budget BIP was BIP-33. Although this budget was originally only intended to cover operations through H1 2023, Beanstalk Farms has been operating on these funds through January 2024 (7 additional months).

Beanstalk Farms has demonstrated an ability to execute with limited resources. However, Beanstalk Farms will be unable to continue development of Beanstalk beyond February 2024 without additional funding. There are a number of open RFCs that various Farmers have indicated a willingness to work on should a new budget be approved by the DAO.

Beanstalk Farms designed the 2024 budget to cover operations through the end of the year to enable contributors to work towards the following goals:

  • Decentralized development: continue to develop a diverse organization without any single points of failure or dependence.
  • Focus and flexibility: deliver high quality output in a timely fashion, while maintaining the flexibility to fund and support a wide variety of unique opportunities related to Beanstalk.
  • Attracting high quality talent: continue to attract and retain high quality talent, which is critical to the success of Beanstalk.

2023 Spending and Output

Before the BIP-33 budget was minted on February 9, 2023, the Beanstalk Farms Multisig (BFM) held 186,694 Beans and 139,012 USDC.

The H1 2023 Beanstalk Farms budget of 1,350,000 additional Beans and Audit Fund of 500,000 Beans was approved by the DAO to fund protocol development, audits and related initiatives.

As of February 12, 2024, the remaining Beanstalk Farms budget consists of 36,647 Beans and 28,820 USDC, with 146,537 additional Beans in the Security Fund (f.k.a. Audit Fund).

image
image

Beanstalk Farms monthly operations reports:

The output of Beanstalk Farms since the most recent budget was minted in February 2023 includes (but is not limited to):

Security

  • Triaged 50+ bug reports from Immunefi whitehat hackers and coordinated with the BIC, Cyfrin and the BCM on, and developed the fixes that were implemented in, EBIP-10, EBIP-11, EBIP-12 and EBIP-13;
  • Coordinated with Cyfrin and the BCM on the fix in EBIP-9;
  • Retained and coordinated with Halborn to complete audits of Basin, BIP-34, BIP-36 and BIP-37;
  • Hired, retained and coordinated with Cyfrin to complete audits of all of Beanstalk, Basin, BIP-38 and the Seed Gauge System BIP, and scheduled an audit for the upcoming urBEANwstETH Migration BIP;
  • Hired and coordinated with Code4rena to complete a competitive audit of Basin;
  • Hired and coordinated with Hypernative on, and designed the implementation of, the upcoming Hypernative Integration BIP to protect Beanstalk against malicious contracts;
  • Began designing RFC: Secure Beanstalk, a future upgrade that will significantly improve the security of Beanstalk;
  • Released NatSpec documentation for significant portions of the Beanstalk and Basin code bases, supporting the ability of developers, auditors and whitehats to better and more quickly understand the protocols; and
  • Worked with the BIC to transparently communicate bug bounty payouts to the DAO via BIR-5, BIR-6, BIR-7, BIR-8 and BIR-9.

On-chain Development

  • Implemented and proposed BIP-34, which:
    • Introduced the Morning Auction that adjusts the Temperature that Beanstalk issues Pods at during the first 25 blocks of each Season;
    • Made the sunrise function interoperable with the farm function; and
    • Refined the base gm incentive reward to account for current network conditions and Beanstalk state;
  • Implemented and proposed BIP-36, which:
    • Removed the Withdrawal Freeze from the Silo;
    • Upgraded the Silo accounting system for Seeds per BDV to Stems, such that the Seeds per BDV for an asset on the Deposit Whitelist can be changed after whitelisting (in order to support dynamic Seeds in the upcoming Seed Gauge System BIP);
    • Changed the Seeds per BDV for both Unripe assets to 0; and
    • Issued Silo Deposits as ERC-1155 tokens with associated on-chain art;
  • Implemented and deployed Basin, accompanied by:
    • A generalized Well factory known as an Aquifer;
    • A generalized Well Implementation; and
    • A Constant Product 2 Well Function;
  • Implemented and proposed BIP-37, which:
    • Added generalized infrastructure for Depositing, Converting and minting based on Basin Well LP tokens;
    • Whitelisted the BEANETH Well LP token in the Silo;
    • Updated the gm incentive reward oracle to use the BEANETH Well; and
    • Updated the Flood implementation to reflect the removal of the Withdrawal Freeze;
  • Implemented and proposed BIP-38, which:
    • Migrated the BEAN3CRV LP underlying urBEAN3CRV to BEANETH LP;
    • Migrated the corresponding Unripe liquidity from the BEAN3CRV pool to the BEANETH Well; and
    • Implemented the first step in a two step process to properly track Deposited BDV that has not migrated to Silo V3 (which is measured in the upcoming Seed Gauge System BIP);
  • Implemented and coordinated with Cyfrin on an audit of, and continued development of remediations for, the Seed Gauge System BIP;
  • Published RFCs for upcoming on-chain development by Beanstalk Farms, including:
  • Continued development of the wstETH:USD oracle for the urBEANwstETH Migration BIP, the Multi Flow Pump changes in response to EBIP-9, Generalized Convert, BDV Decrease and On-Chain Fert Metadata;
  • Made significant design changes and improvements to Tractor in preparation for audit; and
  • Deployed the Basin BeaNFTs and minted them directly to qualifying Farmers.

Middleware

  • Upgraded and maintained the Bean and Beanstalk Subgraphs as Beanstalk was upgraded throughout the year;
  • Prepared changes to the Bean and Beanstalk Subgraphs for the upcoming Seed Gauge System BIP;
  • Built the BeaNFT Subgraph to index on-chain BeaNFTs in order to display in the Beanstalk UI;
  • Built the Basin Subgraph to index on-chain Well data;
  • Continued development of the Beanstalk SDK, including:
    • Upgraded it to maintain feature parity with Beanstalk, particularly the Silo V3 upgrade which introduced a significant overhaul to how Deposits are handled;
    • Rebuilt the testing suite, which brought the tests back up to date with current Beanstalk behavior and greatly increased their reliability and reusability; and
    • Significantly decreased gas costs for certain swap routes (and Deposit actions that require swaps) by integrating with Pipeline;
  • Built the Wells SDK for clients to easily interact with Wells;
  • Upgraded and maintained the Discord, Telegram and Twitter Beanstalk Bots as Beanstalk was upgraded throughout the year; and
  • Built the Discord, Telegram and Twitter Basin Bots to make protocol data like liquidity and volume easily available to all Farmers.

Frontend and Design

  • Continued to maintain and make significant upgrades to the Beanstalk UI, including:
    • Added support for the Morning Auction in the Field, per BIP-34;
    • Revamped the governance page and added support for Stalk delegation, per BIP-35;
    • Implemented a Silo V3 migration flow and updated the infrastructure for loading and displaying Deposit data, per BIP-36;
    • Added support for Depositing BEANETH in the Silo using a variety of tokens in a single transaction after whitelisting BEANETH, per BIP-37;
    • Updated the Deposit, Convert, Chop, etc. functionality for urBEANETH, per BIP-38;
    • Prepared all UI changes for the upcoming Seed Gauge System BIP;
    • Updated the Swap page to route through Wells;
    • Built "Claim and Do X" for composing transactions together in the Beanstalk UI, supporting (but not limited to):
      • Rinsing and Depositing;
      • Harvesting and Sowing;
      • Planting and Withdrawing;
      • Planting and Converting;
      • Depositing and Enrooting; and
      • Buying Fertilizer and Mowing;
    • Implemented dozens of QoL improvements; including:
      • Added support for Sowing and Buying Fertilizer using USDC/USDT/DAI/etc.;
      • Added support for different Snapshot proposal types on the governance page (selecting multiple voting choices, etc.);
      • Automated proposal banner display for new Snapshot proposals;
      • Added Fertilizer vAPYs to the Barn page;
      • Added the ability to transfer to and from Farm balances on the Swap page;
      • Added cumulative, instantaneous and TWA deltaB values and TWA ETH price in the price button;
      • Upgraded the liquidity chart to be stacked by pool;
      • Added both Mown and Mowable Grown Stalk on hover in the Deposits table;
      • Redesigned and implemented a new token input that allows Farmers to choose which balance to spend from; and
      • Improved infrastructure for balance loading reliability;
  • Designed, implemented and deployed the Basin UI, including follow on updates like:
    • Added Bean vAPYs for whitelisted Wells;
    • Added TWA and instanstaneous Multi Flow values for Wells;
    • Added the USD values of LP positions; and
    • Added support for connecting via WalletConnect; and
  • Designed the ERC-1155 Deposit metadata, per BIP-36.

Docs, Operations, Etc.

  • Proposed BIP-35, which:
    • Added support for Stalk delegation via Snapshot; and
    • Streamlined and updated various governance processes to reflect the state of Beanstalk and its ecosystem;
  • Published whitepaper versions for every version of Beanstalk through BIP-38;
  • Continued improvements and additions to, and maintenance of, the Farmers' Almanac;
  • Maintained the Beanstalk Notion to share various community resources like past meeting notes, Immunefi bug reports, BCM processes, etc.; and
  • Released monthly operations reports to increase financial and operational transparency of Beanstalk Farms.

Anticipated Use of Funds

Security

  • Continue coordinating with Immunefi whitehats, the BIC, the BCM and Cyfrin to respond to issues surfaced in bug reports;
  • Design, implement and coordinate an audit of Secure Beanstalk;
  • Set up an audit competition for Beanstalk via Code4rena; and
  • Continue coordinating with Cyfrin on BIP audits.

On-chain Development

See the RFCs on GitHub for a detailed on-chain roadmap:

Middleware

  • Design and implement an indexer for Tractor orders;
  • Build a Tractor SDK for clients to interact with Tractor (i.e. create orders and store them in an indexer, cancel orders stored in the indexer, etc.);
  • Deploy all ecosystem subgraphs (Beanstalk, Bean, Basin, BeaNFT, etc.) to the The Graph's decentralized subnet (and switch the default subgraph used by the UIs to these decentralized deployments);
  • Continue to upgrade and maintain the Beanstalk and Bean Subgraphs as Beanstalk is upgraded (along with adding more data like pre-exploit deltaB values, more historical Barn data, etc.);
  • Continue development on and maintain the Beanstalk and Wells SDKs; and
  • Continue to build and maintain various ecosystem bots as Beanstalk is upgraded, more Wells are launched on Basin, Tractor is deployed, etc.

Frontend + Design

  • Design and launch a new landing page at bean.money;
  • Design and launch a Tractor UI for Farmers to create and cancel Tractor orders (see RFC: Tractor for examples);
  • Continue to upgrade and maintain the Basin UI, including;
    • Adding protocol level analytics;
    • Adding Support for deploying Wells from the Basin UI;
    • Minimizing approvals via permit support;
    • etc.
  • Continue to upgrade and maintain the Beanstalk UI, including:
    • Viewing all past BIPs on the governance page;
    • Showing which Farmers have voted on each proposal and with how much Stalk;
    • Supporting λ → λ Converts;
    • Continuing building infrastructure to improve balance loading reliability;
    • Supporting Withdrawing and swapping in a single transaction;
    • Supporting Claim and Do X on the Market page;
    • Adding support for sending the output assets of a transaction to another address in a generalized fashion;
    • Adding an RPC fallback (i.e., if Alchemy is failing);
    • Supporting Deposited Beans as a token input for Sowing, Ordering Pods, etc.;
    • Exploring decentralized deployment alternatives for the UI on Arweave/IPFS/etc.;
    • Upgrading the Field page to support the Subgraph resource in the settings;
  • Significantly improve the state of analytics, including:
    • Adding a section to the Analytics page for the Barn, to include:
      • Available Fertilizer over time;
      • Percent recapitalization over time;
      • etc.
    • Shipping a Dune dashboard on which Beanstalk Farms can quickly respond to new data requests, like:
      • deltaB by pool since launch;
      • All time gm incentive rewards by address;
      • Total debt level (Pods and Sprouts);
      • Pod holder distribution;
      • Stalkholder distribution;
      • Silo TVD;
      • Data on the prices at which Converts are common;
      • etc.

Breakdown

The following is a brief outline of how the budget is expected to be spent according to the items described above. Note that while these are estimations in attempt to give insight into a breakdown of the budget, the BFC ultimately has the ability to decide on payment amounts per the latest DAO approved process documented here.

  • ~35,000 Beans/mo to pay ~2 Solidity Engineers who will implement the tech described in the RFCs, support and answer questions from auditors who review the code, etc. (see the On-chain Development section);
  • ~30,000 Beans/mo to pay ~2 Full Stack Engineers to work on the Beanstalk and Basin UIs as ecosystem upgrades are made, increasing feature parity between the UIs and the protocols, etc. (see the Frontend + Design section);
  • ~16,000 Beans/mo to pay ~1 Full Stack Engineer to build out the ecosystem's analytics suite, subgraphs and potentially the Tractor UI after that (see the Middleware and Frontend + Design sections); and
  • ~20,000 Beans/mo to pay ~1 Full Stack Engineer to build out the entire middleware suite for Tractor (indexer, SDK, etc.) to launch markets for automated farming, a convert order book, etc., in addition to maintaining and upgrading the ecosystem bots (see Middleware section).

Beanstalk Farms anticipates spending approximately 100,000 Beans per month outside of audits.

Budget

H1 2024

We propose a total of 500,000 Beans are minted to fund Beanstalk Farms through the end of H1 2024. Combined with funds unspent at the time of budget proposal, this results in a total available H1 2024 budget of 536,647 Beans and 28,820 USDC.

H2 2024

We also propose a total of 500,000 Beans are minted to fund Beanstalk Farms through the end of H2 2024.

Minting the H2 budget in advance reduces the friction involved in funding Beanstalk Farms and better allow Beanstalk Farms to attract top quality talent. A suitable governance structure will still allow the DAO the opportunity to withhold H2 funding at its discretion—see Governance.

Projected Spending

image

The chart above illustrates the proposed use of the H1 and H2 budget.

Security Fund

We propose a total of 450,000 Beans are minted to fund the Security Fund. Combined with funds unspent at the time of budget proposal, this results in a total Security Fund of 596,537 Beans.

The Security Fund will be solely dedicated to funding audits and other security initiatives in the Beanstalk ecosystem. The Security Fund is expected to be used to cover future Cyfrin audits, an audit competition for Beanstalk, etc.

The Security Fund will be custodied by the BFM. All spending over 25,000 Beans from the Security Fund will require approval through a Beanstalk Farms Budget Proposal (BFBP), and the balance of the Security Fund will be reported in the Beanstalk Farms Operations Reports.

Custody

The funds for the Beanstalk Farms 2024 budget and the Security Fund will be custodied by the BFM wallet with keys held by various community members. We propose the following signers and backup signers for the BFM:

BFM Signers (all current signers)

  • aloceros
  • Brean
  • Cujo
  • guy
  • Michael Montoya
  • mod323
  • sweetredbeans

The following serve as backup signers for the BFM, in no particular order:

  • CanadianBennett
  • MrMochi
  • pizzaman1337

Governance

Beanstalk Farms will continue to utilize the processes for Beanstalk Farms Committee Proposals (BFCPs) per the processes outlined in BFP-81 and amended in BIP-25 and BIP-35 (the latest DAO approved processes are documented here).

We propose that the any Farmer can propose a BOP (i.e., a Farmer with at least 0.1% Stalk at the time of proposal) before June 30, 2024 to disallow Beanstalk Farms from using the 500,000 Beans minted for use in H2. This preserves the DAO's ability to withhold funding on a regular cadence, but reduces the friction involved in funding Beanstalk Farms by minting the H2 budget upfront. If such a BOP were proposed and approved by the DAO, Beanstalk Farms will burn the 500,000 Beans minted for H2.

Responsibilities

Beanstalk Farms values all feedback from the DAO. However, due to limited resources, it is not feasible to prioritize every request. Beanstalk Farms prioritizes work that it deems the highest leverage contributions that it can provide to Beanstalk given current bandwidth. If a request is not taken on, Beanstalk Farms may still offer guidance or assistance to help the community address the issue.

Beanstalk Farms contributors (including BFC members) do not have a duty to respond to specific inquiries within a certain time frame. Ultimately, Beanstalk Farms contributors are accountable to the DAO through the selection of BFC members by the DAO in governance.

A member of the BFC (see Rex's BFCP-A) will be expected to host monthly DAO meetings with the community (February thru December 2024). Contributors being paid by Beanstalk Farms are expected to make every effort to attend the DAO meetings regularly and share what they are working on and updates on expected development timelines.

Contract Changes

None.

Beans Minted

The init function on the InitMint contract at 0x077495925c17230E5e8951443d547ECdbB4925Bb is called.

We propose a total of 1,450,000 Beans are minted for the budget and the Security Fund to the BFM address (0x21DE18B6A8f78eDe6D16C50A167f6B222DC08DF7) upon the execution of this BIP.

Effective

Immediately upon commitment.

Copy link

netlify bot commented Feb 13, 2024

Deploy Preview for basin canceled.

Name Link
🔨 Latest commit 98e21a4
🔍 Latest deploy log https://app.netlify.com/sites/basin/deploys/65cbcfa9cd165c0009bf42d2

Copy link

netlify bot commented Feb 13, 2024

Deploy Preview for beanstalk-ui canceled.

Name Link
🔨 Latest commit 98e21a4
🔍 Latest deploy log https://app.netlify.com/sites/beanstalk-ui/deploys/65cbcfa92edd0c000897ed06

@BeanstalkFarmsOperations BeanstalkFarmsOperations merged commit ef38a63 into master Mar 19, 2024
8 checks passed
@BeanstalkFarmsOperations BeanstalkFarmsOperations deleted the bf-budget-2024-2 branch March 19, 2024 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant